package com.ruoyi.basebill.mapper;

import java.util.List;
import com.ruoyi.basebill.domain.BomCostcalc;
import com.ruoyi.basebill.domain.BomCostcalcNewDomain;
import com.ruoyi.basebill.domain.BomCostcalcentry;

/**
 * BOM成本测算Mapper接口
 * 
 * @author ruoyi
 * @date 2024-09-09
 */
public interface BomCostcalcMapper 
{
    /**
     * 查询BOM成本测算
     * 
     * @param fid BOM成本测算主键
     * @return BOM成本测算
     */
    public BomCostcalc selectBomCostcalcByFid(String fid);

    /**
     * 查询BOM成本测算列表
     * 
     * @param bomCostcalc BOM成本测算
     * @return BOM成本测算集合
     */
    public List<BomCostcalc> selectBomCostcalcList(BomCostcalc bomCostcalc);
    public List<BomCostcalcNewDomain> selectBomCostcalcList3(BomCostcalc bomCostcalc);
    public List<BomCostcalcNewDomain> selectBomCostcalcList2(String[] fid);
    /**
     * 新增BOM成本测算
     *
     * @param bomCostcalc BOM成本测算
     * @return 结果
     */
    public int insertBomCostcalc(BomCostcalc bomCostcalc);

    public List<BomCostcalc> selectBomCostcalcListByCalcDemandfids(String[] fid);
    public BomCostcalc selectBomCostcalcByCalcDemandfid(String fid);
    public int batchBomCostcalc(List<BomCostcalc> bomCostcalcList);
    /**
     * 修改BOM成本测算
     * 
     * @param bomCostcalc BOM成本测算
     * @return 结果
     */
    public int updateBomCostcalc(BomCostcalc bomCostcalc);

    /**
     * 删除BOM成本测算
     * 
     * @param fid BOM成本测算主键
     * @return 结果
     */
    public int deleteBomCostcalcByFid(String fid);

    /**
     * 批量删除BOM成本测算
     * 
     * @param fids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBomCostcalcByFids(String[] fids);

    /**
     * 批量删除成本测算分录
     * 
     * @param fids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBomCostcalcentryByFParentIDs(String[] fids);
    
    /**
     * 批量新增成本测算分录
     * 
     * @param bomCostcalcentryList 成本测算分录列表
     * @return 结果
     */
    public int batchBomCostcalcentry(List<BomCostcalcentry> bomCostcalcentryList);
    

    /**
     * 通过BOM成本测算主键删除成本测算分录信息
     * 
     * @param fid BOM成本测算ID
     * @return 结果
     */
    public int deleteBomCostcalcentryByFParentID(String fid);

    public List<BomCostcalc>  selectBomCostcalcBySmId(BomCostcalc bomCostcalc);
    /**
     * 查询成本测算分录
     *
     * @param fid 成本测算分录主键
     * @return 成本测算分录
     */
    public BomCostcalcentry selectBomCostcalcentryByFid(String fid);
}
